package com.ssrs.framework.extend.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author ssrs
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Plugin {

    /**
     * 插件名称 (必填)
     */
    String name();

    /**
     * 插件版本 (必填)
     */
    String version();

    /**
     * 插件作者
     */
    String author() default "";

    /**
     * 插件提供商
     */
    String provider() default "";


    /**
     * 插件描述
     */
    String description() default "";

    /**
     * 依赖插件
     *
     * @return
     */
    PluginRequired[] required() default {} ;
}
